module.exports = {
	apps: [{
		name: 'n8n-main',
		script: './dist/bin/n8n',
		node_args: '--max-old-space-size=4096',
		env: {
			N8N_HOST: '0.0.0.0',
			N8N_PORT: 5678,
			N8N_PROTOCOL: 'http',
			GENERIC_TIMEZONE: 'Asia/Shanghai',

			// 执行模式：队列，由 worker 执行任务
			EXECUTIONS_MODE: 'queue',

			// 数据库配置
			DB_TYPE: 'postgresdb',
			DB_POSTGRESDB_HOST: '192.168.22.32',
			DB_POSTGRESDB_PORT: '5432',
			DB_POSTGRESDB_DATABASE: 'n8n',
			DB_POSTGRESDB_USER: 'n8n_user',
			DB_POSTGRESDB_PASSWORD: 'Fanzha@2024',

			// Redis 队列配置
			QUEUE_BULL_REDIS_HOST: '192.168.22.32',
			QUEUE_BULL_REDIS_PORT: 6379,
			QUEUE_BULL_REDIS_PASSWORD: 'Fanzha@2024',
			QUEUE_BULL_REDIS_DB: 0,

			// 加密密钥（必须与 worker 一致！）
			N8N_ENCRYPTION_KEY: 'random', // 👈 必须和 worker 一样

			// 日志级别
			N8N_LOG_LEVEL: 'info',

			// 允许前端跨域（可选）
			N8N_CORS_ORIGIN: '*',

			// 启用指标（可选，用于监控）
			N8N_METRICS: true,
			N8N_METRICS_PORT: 9090,

			// 不启用 HTTPS（生产环境建议用 Nginx 反向代理）
			N8N_SSL_DISABLED: true,

			// 关闭安全 Cookie（仅限 HTTP 测试）
			N8N_SECURE_COOKIE: false,

			// 自动运行数据库迁移
			N8N_RUN_MIGRATIONS_ON_STARTUP: true
		},
		instances: 1,
		exec_mode: 'fork',
		autorestart: true,
		max_memory_restart: '4G',
		error_file: './logs/main-err.log',
		out_file: './logs/main-out.log',
		log_date_format: 'YYYY-MM-DD HH:mm:ss'
	}]
};
